const nodemailer = require('nodemailer');
const getMysql = require('../mysql.js')



const emailS = async (req, res) => {

    // 发送短信前查询数据库，该用户是否注册过
    let email = req.body.email;
    let sql = 'select email from tarvel_user where email = ?'
    getMysql(sql, email).then(result => {
        if (result.length == 0) {
            res.send({
                code: 202,
                message: '该邮箱用户未注册或未绑定'
            })
        }else{
            // 调用发送邮箱函数
            getEmail()
        }

    }).catch(err => {
        console.log(err);
    })


    // 如果数据库存在该邮箱，那么发送，反正不发送
    function getEmail() {
        //随机生成6位数字
        let emailCode = (function captchaNumber() {
            let num = [];
            for (let i = 0; i < 6; i++) {
                num[i] = parseInt(Math.random() * 10);
            }
            return num.join('');
        })()

        let mailTransport = nodemailer.createTransport({
            // host: 'smtp.qq.email',
            service: 'qq',
            secure: true,	//安全方式发送,建议都加上
            auth: {
                "user": '2585717148@qq.com', 		// 你自己的邮箱的邮箱地址
                "pass": 'oipsiempoxwveabh'
            }
        })

        let options = {
            from: '2585717148@qq.com', // 发件人地址
            to: email, // 收件人地址，多个收件人可以使用逗号分隔
            subject: '毕业旅行邮箱验证码', // 邮件标题
            bcc: '密送',
            html: `
                <h1>尊敬的用户，您好：</h1>
                <p style="font-size: 18px;color:#000;">
                    您的验证码为：
                    <span style="font-size: 16px;color:#f00;"> ${emailCode}， </span>
                    您当前正在毕业旅行网站进行登录验证，验证码告知他人将会导致数据信息被盗，请勿泄露，如若不是本人操作，请忽略
                </p>
                <p style="font-size: 1.5rem;color:#999;">60秒内有效</p>
                `
        }

        mailTransport.sendMail(options, function (err, msg) {
            if (err) {
                console.log(err);
                res.send({
                    code: '201',
                    message: "发送失败"
                });
            } else {
                res.send({
                    code: '200',
                    message: '发送成功！',
                    codeId: emailCode
                });
                req.sessionStore.codeId = emailCode
            }
        })
    }

}


module.exports = emailS